axios.defaults.baseURL = 'https://hmajax.itheima.net'

function change(page){
    document.querySelector('.small').addEventListener('click',function(){
        location.href = `./${page}.html`
    })
}


// 请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么,比如: 统一设置token
    // 通过config可以获取请求的设置，比如headers可以获取（修改）请求头
    config.headers.Authorization = JSON.parse(localStorage.getItem('shuju')).token
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });
// 添加响应拦截器
// 统一处理token过期
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    return response;
  }, function (error) {
    pxmu.toast(error.response.data.message)
    // console.dir(error)
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么: 比如统一处理token失效
    // 统一处理token失效
    if (error.response.status === 401) {
      // 弹框提示用户
      // 删除缓存
    //   localStorage.removeItem('shuju')
      // 返回登录页
      setTimeout(() => {
        location.href = './login.html'
      }, 1500)
    }
    return Promise.reject(error);
  });

  function res(tar,loc){
    document.querySelector('button').addEventListener('click',function(e){
        e.preventDefault();
        const form = document.querySelector('form')
        let data = serialize(form,{hash:true,empty:true})
        let istrueName = /^[a-zA-Z0-9]{8,30}$/.test(data.username)
        let istrueWord = /^[a-zA-Z0-9]{6,30}$/.test(data.password)
        console.log(istrueName,istrueWord);
        if(istrueName && istrueWord){
            async function fn(data) {
                let res = await axios({url:`/${tar}`,method:'POST',data})
                pxmu.toast(res.data.message)
                if(loc){
                    localStorage.setItem('shuju',JSON.stringify({uname:data.username,token:res.data.data.token}))
                    pxmu.loading('加载中');
                    setTimeout(()=>{
                    location.href = `./${loc}.html`
                },500)}
            }
            fn(data)
        }
        else{
            pxmu.toast('用户名或密码格式错误')
        }
    })
}